// 获取视频数据
function getVideoStats() {
  try {
    // 使用更新后的选择器
    const stats = {
      title: document.querySelector('.video-title')?.textContent.trim(),
      playCount: document.querySelector('.view.item')?.textContent.trim(),
      likeCount: document.querySelector('.video-like-info.video-toolbar-item-text')?.textContent.trim(),
      coinCount: document.querySelector('.video-coin-info.video-toolbar-item-text')?.textContent.trim(),
      favoriteCount: document.querySelector('.video-fav-info.video-toolbar-item-text')?.textContent.trim(),
      danmakuCount: document.querySelector('.dm-text')?.textContent.trim(),
      timestamp: new Date().toISOString()
    };
    
    // 检查是否所有数据都获取到了
    if (!stats.title || !stats.playCount) {
      console.log('数据未完全加载，当前数据:', stats);
      return false;
    }
    
    console.log('成功获取视频数据:', stats);
    
    // 发送数据到扩展
    chrome.runtime.sendMessage({
      type: 'VIDEO_STATS',
      data: stats
    });
    
    return true;
  } catch (error) {
    console.error('获取视频数据失败:', error);
    return false;
  }
}

// 获取UP主信息
function getUpInfo() {
  try {
    const upInfo = {
      name: document.querySelector('.up-name')?.textContent.trim(),
      description: document.querySelector('.up-description.up-detail-bottom')?.textContent.trim(),
      followers: document.querySelector('.follow-btn-inner')?.textContent.trim(),
      timestamp: new Date().toISOString()
    };
    
    console.log('获取到的UP主信息:', upInfo);
    
    // 发送数据到扩展
    chrome.runtime.sendMessage({
      type: 'UP_INFO',
      data: upInfo
    });
    
    return true;
  } catch (error) {
    console.error('获取UP主信息失败:', error);
    return false;
  }
}

// 使用MutationObserver监听DOM变化
function observeDOM() {
  const targetNode = document.body;
  const config = { childList: true, subtree: true };
  
  const callback = function(mutationsList, observer) {
    if (document.querySelector('.video-title')) {
      getVideoStats();
    }
  };
  
  const observer = new MutationObserver(callback);
  observer.observe(targetNode, config);
  
  // 立即尝试获取一次
  getVideoStats();
}

// 页面加载完成后执行
window.addEventListener('load', observeDOM);

// 监听来自popup的消息
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
  if (message.type === 'GET_STATS') {
    getVideoStats();
  } else if (message.type === 'GET_UP_INFO') {
    getUpInfo();
  }
}); 